package com.ittao.taoaicodemother.manage.storage.service;

/**
 * 操作类型判断服务接口
 * 用于判断文件操作是否为修改操作（相对于初次生成）
 */
public interface OperationTypeService {

    /**
     * 判断是否为修改操作
     * 优先级：目录判断 > COS文件判断 > 对话历史判断
     * @param filePath 文件路径
     * @param appId 应用ID
     * @return 是否为修改操作
     */
    boolean isModificationOperation(String filePath, Long appId);

    /**
     * 从本地路径构建COS key
     * @param localPath 本地路径
     * @return COS key
     */
    String buildCosKeyFromLocalPath(String localPath);

    /**
     * 从COS key中提取项目COS key
     * @param cosKey COS key
     * @return 项目COS key
     */
    String extractProjectCosKey(String cosKey);

    /**
     * 从文件路径中提取会话ID
     * @param filePath 文件路径
     * @return 会话ID
     */
    String extractSessionIdFromPath(String filePath);

    /**
     * 从文件路径中提取用户ID
     * @param filePath 文件路径
     * @return 用户ID
     */
    String extractUserIdFromPath(String filePath);
}